package com.wolfking.jeesite.sign;

import com.wolfking.jeesite.event.DefaultEvent;
import com.wolfking.jeesite.event.AbstractSignEvent;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;

import java.lang.annotation.*;

/**
 * 校验登陆注解
 *
 * @author wolfking@赵伟伟
 * @mail zww199009@163.com
 * @创作日期 2017年4月15日 下午8:19:46
 * @copyright wolfking
 */
@Documented
@Order(Ordered.HIGHEST_PRECEDENCE) // 最高优先级
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Sign {
    /**
     * 鉴权码
     *
     * @return
     */
    String code() default "";

    /**
     * 是否是登录页
     *
     * @return
     */
    boolean loginPage() default false;

    /**
     * 登录鉴权日志
     *
     * @return
     */
    Class<? extends AbstractSignEvent>[] event() default DefaultEvent.class;


    String eventName() default "";
}
